#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>


//typedef struct List_t
//{
//	struct List_t* next;
//	struct List_t* prev;
//	char data[0];
//}list_t;
//
//int main()
//{
//	printf("%zd", sizeof(list_t));
//
//	return 0;
//}

//#include <stdlib.h>
//void fut(int** s, int p[2][3])
//{
//	**s = p[1][1];
//}
//
//int main()
//{
//	int a[2][3] = { 1,3,5,7,9,11 }, * p;
//	p = (int*)malloc(sizeof(int));
//
//	fut(&p, a);
//	printf("%d", *p);
//
//	return 0;
//}

//int multiply(int A, int B)
//{
//    if (A == 0)
//        return 0;
//
//    return B + multiply(--A, B);
//}
//
//int main()
//{
//    int a = 918795921, b = 1;
//
//    printf("%d\n", multiply(a, b));
//
//    return 0;
//}

//int multiply(int A, int B) 
//{
//    if (B) 
//    {
//        if (B & 1) 
//            return multiply((long long)A << 1, B >> 1) + A;
//        else
//            return multiply((long long)A << 1, B >> 1);
//    }
//    
//    return 0;
//}
//
//int main()
//{
//    printf("%d\n", multiply(1, 10));
//
//    return 0;
//}

//int multiply(int A, int B)
//{
//    if (B == 0)
//        return 0;
//
//    return A + multiply(A, --B);
//}
//
//int main()
//{
//    int a = 918795921, b = 1;
//
//    //printf("%d\n", multiply(a, b));
//    printf("%d\n", sizeof(long));
//
//    return 0;
//}

#include <string.h>
int _is(int n)
{
    if (0 == n % 7)
        return 1;

    char ans[6] = { 0 };
    sprintf(ans, "%d", n);

    int sz = strlen(ans);
    for (int i = 0; i < sz; ++i)
    {
        if ('7' == ans[i])
            return 1;
    }

    return 0;
}

int main()
{
    /*int n = 0;
    scanf("%d", &n);*/

    int cnt = 0;
    for (int i = 7; i <= 20; ++i)
    {
        if (_is(i))
            cnt++;
    }
    printf("%d\n", cnt);

    return 0;
}
